home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slasv2.z / slasv2
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAASSSSVVVV2222((((3333FFFF))))                                                          SSSSLLLLAAAASSSSVVVV2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLASV2 - compute the singular value decomposition of a 2-by-2 triangular
  10.      matrix  [ F G ]  [ 0 H ]
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SLASV2( F, G, H, SSMIN, SSMAX, SNR, CSR, SNL, CSL )
  14.  
  15.          REAL           CSL, CSR, F, G, H, SNL, SNR, SSMAX, SSMIN
  16.  
  17. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  18.      SLASV2 computes the singular value decomposition of a 2-by-2 triangular
  19.      matrix
  20.         [  F   G  ]
  21.         [  0   H  ].  On return, abs(SSMAX) is the larger singular value,
  22.      abs(SSMIN) is the smaller singular value, and (CSL,SNL) and (CSR,SNR) are
  23.      the left and right singular vectors for abs(SSMAX), giving the
  24.      decomposition
  25.  
  26.         [ CSL  SNL ] [  F   G  ] [ CSR -SNR ]  =  [ SSMAX   0   ]
  27.         [-SNL  CSL ] [  0   H  ] [ SNR  CSR ]     [  0    SSMIN ].
  28.  
  29.  
  30. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  31.      F       (input) REAL
  32.              The (1,1) element of the 2-by-2 matrix.
  33.  
  34.      G       (input) REAL
  35.              The (1,2) element of the 2-by-2 matrix.
  36.  
  37.      H       (input) REAL
  38.              The (2,2) element of the 2-by-2 matrix.
  39.  
  40.      SSMIN   (output) REAL
  41.              abs(SSMIN) is the smaller singular value.
  42.  
  43.      SSMAX   (output) REAL
  44.              abs(SSMAX) is the larger singular value.
  45.  
  46.      SNL     (output) REAL
  47.              CSL     (output) REAL The vector (CSL, SNL) is a unit left
  48.              singular vector for the singular value abs(SSMAX).
  49.  
  50.      SNR     (output) REAL
  51.              CSR     (output) REAL The vector (CSR, SNR) is a unit right
  52.              singular vector for the singular value abs(SSMAX).
  53.  
  54. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  55.      Any input parameter may be aliased with any output parameter.
  56.  
  57.      Barring over/underflow and assuming a guard digit in subtraction, all
  58.      output quantities are correct to within a few units in the last place
  59.      (ulps).
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAASSSSVVVV2222((((3333FFFF))))                                                          SSSSLLLLAAAASSSSVVVV2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      In IEEE arithmetic, the code works correctly if one matrix element is
  75.      infinite.
  76.  
  77.      Overflow will not occur unless the largest singular value itself
  78.      overflows or is within a few ulps of overflow. (On machines with partial
  79.      overflow, like the Cray, overflow may occur if the largest singular value
  80.      is within a factor of 2 of overflow.)
  81.  
  82.      Underflow is harmless if underflow is gradual. Otherwise, results may
  83.      correspond to a matrix modified by perturbations of size near the
  84.      underflow threshold.
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.